import java.util.Scanner;
/*********************************************************************
 * Interface for a class to manage process records.
 * @author Duncan Buell
**/
public interface IProcessRecord
{
/*********************************************************************
 * Accessors and mutators.
**/
/*********************************************************************
 * Method to get the 'pid'.
 * @return the value of 'pid'.
**/
  public int getPid();

/*********************************************************************
 * Method to set the 'pid'.
 * @param the value of 'pid'.
**/
  public void setPid(int what);

/*********************************************************************
 * Method to get the 'priority'.
 * @return the value of 'priority'.
**/
  public int getPriority();

/*********************************************************************
 * Method to set the 'priority'.
 * @param the value of 'priority'.
**/
  public void setPriority(int what);

/*********************************************************************
 * Method to get the <code>q</code>.
 * @return the value of <code>q</code>.
**/
  public int getProcessQ();

/*********************************************************************
 * Method to set the <code>q</code>.
 * @param the value of <code>q</code>.
**/
  public void setProcessQ(int what);

/*********************************************************************
 * General methods.
**/

/*********************************************************************
 * Method to compare <code>priority</code> values of process records.
 * We assume that the default comparison will always be of priority.
 * @return -1, 0, or +1 according as the comparison goes.
**/
  public int compareTo(ProcessRecord that);

/*********************************************************************
 * Method to read the flat file from an input <code>Scanner</code>.
 * Note that this is more or less hard coded. Also that we don't
 * bulletproof the input; among other things we assume that partial
 * records don't appear in the input data.
**/
  // public static ProcessRecord readProcessRecord(Scanner inFile);

/*********************************************************************
 * Method to convert a record to a <code>String</code>.
 * @return the <code>String</code> value of the record.
**/
  public String toString();

} // public interface IProcessRecord
